﻿using System;
using System.Data;
using System.Text.RegularExpressions;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DataInfo;
using KenLib.BusinessManager;
using System.Drawing;
using XBLib.Dal.AdoDal; 

public partial class JOINT_frmJ_TraineeGroupCheck : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ((JOINT_MstPage_JOINT)this.Master).ChangeMenu("入学実習生一覧", "frmJ_TraineeEnterSchoolSearch.aspx");
        ((JOINT_MstPage_JOINT)this.Master).changeTitle("入学情報（共通情報）登録（確認）");

        if (Session["frmJ_TraineeEnterSchoolSearch_ddl_グループID"] == null)
        {
            Response.Redirect("frmJ_TraineeEnterSchoolSearch.aspx");
        }
        else if (Session["frmJ_TraineeEnterSchoolSearch_ddl_グループID"].ToString() == "-1")
        {
            Response.Redirect("frmJ_TraineeEnterSchoolSearch.aspx");
        }

        if (Session["mode_active"] == null){
            Response.Redirect("frmJ_TraineeGroupInput.aspx");
        }

        if (!IsPostBack)
        {
            load雇用情報();
            load出入国歴情報();
            load実習生選択情報();

            int グループID = Int32.Parse(Session["frmJ_TraineeEnterSchoolSearch_ddl_グループID"].ToString());
            入国ＧManager frm_入国Ｇ = new 入国ＧManager();
            DataTable dt_入国Ｇ = frm_入国Ｇ.Get_入国Ｇ名(グループID);
            lbl_グループ名.Text = dt_入国Ｇ.Rows[0]["入国Ｇ名"].ToString();
        }
    }
    protected void load雇用情報()
    {
        if (Session["雇用情報"] != null)
        {
            雇用情報 obj_雇用情報 = new 雇用情報();
            obj_雇用情報 = (雇用情報)Session["雇用情報"];
            lbl_入学予定日.Text = DateTime.Parse(obj_雇用情報.発令開始日.ToString()).ToString("yyyy年MM月dd日");
            lbl_卒業予定日.Text = DateTime.Parse(obj_雇用情報.発令終了日.ToString()).ToString("yyyy年MM月dd日");
            if (obj_雇用情報.実際開始日.ToString().Length > 0)
            {
                lbl_入学日.Text = DateTime.Parse(obj_雇用情報.実際開始日.ToString()).ToString("yyyy") != "0001" ? DateTime.Parse(obj_雇用情報.実際開始日.ToString()).ToString("yyyy年MM月dd日") : "－";
            }
            else {
                lbl_入学日.Text = "－";
            }
            if (obj_雇用情報.実際終了日.ToString().Length > 0)
            {
                lbl_卒業日.Text = DateTime.Parse(obj_雇用情報.実際終了日.ToString()).ToString("yyyy") != "0001" ? DateTime.Parse(obj_雇用情報.実際終了日.ToString()).ToString("yyyy年MM月dd日") : "－";
            }
            else {
                lbl_卒業日.Text = "－";
            }
        }
    }
    protected void load出入国歴情報()
    {
        if (Session["出入国歴情報"] != null)
        {
            出入国歴情報 obj_出入国歴情報 = new 出入国歴情報();
            obj_出入国歴情報 = (出入国歴情報)Session["出入国歴情報"];
            lbl_入国予定年月日.Text = DateTime.Parse(obj_出入国歴情報.入国予定年月日.ToString()).ToString("yyyy年MM月dd日");
            if (obj_出入国歴情報.入国年月日.ToString().Length > 0)
            {
                lbl_入国年月日.Text = DateTime.Parse(obj_出入国歴情報.入国年月日.ToString()).ToString("yyyy") != "0001" ? DateTime.Parse(obj_出入国歴情報.入国年月日.ToString()).ToString("yyyy年MM月dd日") : "－";
            }
            else {
                lbl_入国年月日.Text = "－";
            }
            lbl_入国特記事項.Text = obj_出入国歴情報.入国特記事項.Trim() == "" ? "－" : obj_出入国歴情報.入国特記事項.Replace("\n", "<br />");
			lbl_上陸港.Text = obj_出入国歴情報.上陸港_NAME;
        }
    }
    protected void load実習生選択情報()
    {
        if (Session["実習生選択情報"] != null)
        {
            実習生選択情報 obj_実習生選択情報 = new 実習生選択情報();
            obj_実習生選択情報 = (実習生選択情報)Session["実習生選択情報"];
            lbl_犯罪理由処分.Text = obj_実習生選択情報.犯罪理由処分 == 1 ? "有" : "無";
            lbl_強制退去出国.Text = obj_実習生選択情報.強制退去出国 == true ? "有" : "無";
            lbl_強制退去出国回数.Text = obj_実習生選択情報.強制退去出国回数 == 0 ? "－" : obj_実習生選択情報.強制退去出国回数.ToString();
            if (obj_実習生選択情報.強制退去出国送還歴.ToString().Length > 0)
            {
                lbl_強制退去出国送還歴.Text = DateTime.Parse(obj_実習生選択情報.強制退去出国送還歴.ToString()).ToString("yyyy") != "0001" ? DateTime.Parse(obj_実習生選択情報.強制退去出国送還歴.ToString()).ToString("yyyy年MM月dd日") : "－";
            }
            else {
                lbl_強制退去出国送還歴.Text = "－";
            }
            lbl_保証金徴収.Text = obj_実習生選択情報.保証金徴収 == true ? "有" : "無";
            lbl_保証金徴収管理機関.Text = obj_実習生選択情報.保証金徴収管理機関.Trim() == "" ? "－" : obj_実習生選択情報.保証金徴収管理機関;
            lbl_保証金徴収財産.Text = obj_実習生選択情報.保証金徴収財産.Trim() == "" ? "－" : obj_実習生選択情報.保証金徴収財産;
        }
    }
    protected void btn確認_Click(object sender, EventArgs e)
    {
        int グループID = Int32.Parse(Session["frmJ_TraineeEnterSchoolSearch_ddl_グループID"].ToString());

        実習生選択情報 obj_実習生選択情報 = new 実習生選択情報();
        obj_実習生選択情報 = (実習生選択情報)Session["実習生選択情報"];

        雇用情報 obj_雇用情報 = new 雇用情報();
        obj_雇用情報 = (雇用情報)Session["雇用情報"];

        出入国歴情報 obj_出入国歴情報 = new 出入国歴情報();
        obj_出入国歴情報 = (出入国歴情報)Session["出入国歴情報"];

        入国Ｇ obj_入国Ｇ = new 入国Ｇ();
        obj_入国Ｇ = (入国Ｇ)Session["入国Ｇ"];

        基本情報Manager frm_基本情報 = new 基本情報Manager();
        //DataTable dt_社員ID = frm_基本情報.Get_社員ID_By_入国ＧID(グループID);

        int result = 1;
        if (Session["mode_active"].ToString() == "insert")
            result = frm_基本情報.Insert_All_Transaction(グループID, obj_実習生選択情報, obj_雇用情報, obj_出入国歴情報, obj_入国Ｇ);
        else if (Session["mode_active"].ToString() == "update")
            result = frm_基本情報.Update_All_Transaction(グループID, obj_実習生選択情報, obj_雇用情報, obj_出入国歴情報, obj_入国Ｇ);

        if (result == 0)
        {
            Session.Remove("雇用情報");
            Session.Remove("出入国歴情報");
            Session.Remove("実習生選択情報");
            Session.Remove("入国Ｇ");
            Session.Remove("frmJ_TraineeEnterSchoolSearch_ddl_グループID");
            Session.Remove("mode_active");

            Response.Redirect("frmJ_TraineeEnterSchoolSearch.aspx");
        }
        else
        {
            String mess = "データを登録出来ません。";
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('" + mess + "');</script>");
        }
    }
}
